package com.by.wx.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @Author 陈子杰
 * @Description
 * @Version 1.0.0
 * @Date 2025/2/12 18:27
 */
public class TaskUtils {
    /**
     * 生成 taskId 的方法
     *
     * @param departure 起飞地
     * @param arrival   到达地
     * @param dateStr   日期字符串，格式为 "yyyy-MM-dd"
     * @param flightNo  航班号
     * @return 生成的 taskId
     */
    public static String generateTaskId(String departure, String arrival, String dateStr, String flightNo) {
        try {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            Date date = sdf.parse(dateStr);
            String combinedInfo = departure + arrival + sdf.format(date) + flightNo;
            // 获取当前时间戳
            long timestamp = System.currentTimeMillis();
            combinedInfo += timestamp;
            long asciiSum = 0;
            for (char c : combinedInfo.toCharArray()) {
                asciiSum += (long) c;
            }
            long shortTaskId = asciiSum % 1000000;
            return String.valueOf(shortTaskId);
        } catch (ParseException e) {
            e.printStackTrace();
            return null;
        }
    }
}
